import axios, { type InternalAxiosRequestConfig } from 'axios'

const instance = axios.create({
  baseURL: 'https://geek.itheima.net/v1_0',
  timeout: 10000
})

instance.interceptors.request.use((config: InternalAxiosRequestConfig) => { 
  return config
}, (error) => {
  return Promise.reject(error)
})

instance.interceptors.response.use((respones) => {
  return respones.data.data
 }, (error) => {
  return Promise.reject(error)
})

export class RequestAxios {
  static get<T>(url: string, params?: object) {
    return instance.get<null, T>(url, {params})
  }
  static post() {

  }
  static put() {

  }
  static delete() {

  }
}